Data Modeling
supOS uses UNS (Unified Namespace) to organize data into a clear, tree-like structure. Each folder and file in the model automatically generates an MQTT topic, making it easy to get real-time data.
Things to Notice before Start
Page Overview
Select UNS > Namespace after logging in to supOS, you will see the main page of this module.

No. | Item | Description |
---|---|---|
1 | Topic | Tree view of data models already built in UNS |
Template | Tree view of data model templates already built in UNS | |
Label | Displays labels, and models under each label | |
2 | ![]() | Displays data models by category: Text/Template/Label. |
![]() ![]() | Search data models / Refresh data model list. | |
![]() ![]() | Create folder-file structured data models based on data hierarchy. | |
![]() | Create data models by manually entering JSON. | |
3 | Unmodeled Topics | Lists the topics received in the internal broker, which can be transformed to data models. For details, see Building Models through MQTT. |
4 | Overview | Comprehensive view of existing folders and files, and the number of connections between data sources and the internal MQTT broker |
5 | Topology Map | Visualizes the data flow using a topology diagram |
6 | Import/Export | Import/export data models in JSON or Excel format |
Extra Parameter Definition
- Path
Item | Description |
---|---|
Extended Attribute | Add extended attributes for the path. Eg. unit. |
Template | Select a template to inherit attributes from it. See Building Template. |
Generate Template | Click ![]() |
- Topic-Data Type
Type | Description |
---|---|
Time Series | Receive real-time data and store it in TDEngine. |
Relational | Receive relational data and store it in a Postgres database. |
Calculation | Perform basic calculations on the added time series attributes. |
Aggregation | Aggregate the added data sources into JSON at a fixed frequency. |
Reference | Select an existing file and copy its attributes. |
- Topic-Attribute Generation Method
Attribute Generation Method | Description |
---|---|
Custom | Customize attributes. |
Template | Inherit attributes from the selected template. |
Reverse Generation | Use JSON text or connected databases to generate attributes with the same structure. |
You can connect databases under DevTools > DBConnect. For details, see Database Connection.
- Topic-Linked Operation
Item | Description |
---|---|
Persistence | Enable historical data storage for the selected file. |
Mock Data | Generates a data flow with mock data in UNS > Source Flow. |
Auto-Dashboard | Generates a dashboard in System > Dashboards. |
How to Build a Data Model
Based on simple folder-file structure, you can define the data hierarchy to a tree map.
Building Models Manually
Factory/workshop/equipment/CNC will be used as an example, in which Factory
, workshop
and equipment
are paths and CNC
is a topic.
- Log in to supOS, and then select UNS > Namespace.
- Under Topic, click
to add a path (e.g.
factory
).

- Select equipment, and then click
to add a topic (e.g.
CNC
) under it.

- Enter the information of the topic, and then click Next.
- Select Enable History to store data to database, and then click Save.

Generating Models through JSON
- Log in to supOS, and then select UNS > Namespace.
- Click
on the Topic page.

- Select the data type, and then write JSON text for the model according to the data tree structure.
{
"Factory1": {
"workshop1": {
"equipment1": {
"CNC1": [
{
"actualRuntime1": 1380,
"plannedRuntime1": 1440
}
]
}
}
}
}

- Click Next, and select the model on the left side.
Click on each data level, you can change its information and add attributes on the right side.

- Click Save.
Converting Models through MQTT
- Use an MQTT client to connect to the internal broker of supOS-CE.
- Host: Your supOS-CE domain.
- Port: 1883.

- Define a topic and message payload on the client, and then send it to supOS.

- Log in to supOS, and then select UNS > Namespace.
- Expand Unmodeled Topics, find the topic you defined.
- Click Convert icon next to the topic, and then edit the information and complete the model creation.

Importing Models
- Log in to supOS, and then select UNS > Namespace.
- Click Import at the upper-right corner, and then click Download Template.

- Download the template and enter the model content according to template rules.
You can manually add a path and topic, export it and use it as an example for import.
- Through Excel File

- Through JSON File

- Save the template file, and then click Import on the Namespace page.
- Select the template, and then click Save.
Creating Models with Data Source through Source Flow
-
Log in to supOS, and then select UNS > Source Flow.
-
Click New Source Flow to create a flow.
-
Click the flow and drag the UNS Mapper node to the canvas.
-
Double-click the node, and configure its properties.
- Set the node name, and then under Basic Info, select a protocol next to Select Protocol through which the data is transmitted.
- (Optional) Select a model next to Select Model to get an example for subsequent model attributes creation.
- Click Tags Mapping, click New Row, and then enter the model information.
Parameter Description FilePath (Required) Namespace topic path. Use folder/file style, only last level sends data. Example: Workshop1/Line2/CNC01/SpindleTemperature. Alias (Optional) Custom alias. If blank, system auto-generates unique ID. AttributeName (Required) Key name in output JSON (e.g., value). AttributeType (Required) Data type: Float, Integer, String, or Boolean. Node auto-converts. TagConfiguration (Required) Upstream data locator. Format depends on protocol: OPC UA (nodeId), Modbus (register index), MQTT (payload path), OPC DA (tag path). -
Complete the node configuration, and then connect a data source node (in this example, Modbus read) to the UNS Mapper and a mqtt out at the end.

- Edit properties of both the data source node and mqtt out node.


For details on property configuration of common data source nodes, see Common Data Sources.
- Deploy the flow and trigger it, check the data on Namespace.

Optional Features
Building Template
- On the Namespace page, click Template.
- Click
, and then enter the information of the template.
Click Source to select added models and inherit their attributes.

- Click Save.
Creating Label
Labels are used for categorizing data models.
- On the Namespace page, click Label.
- Click
, and then enter the label name.
- Click Save, and then click
to add files under the label.

- Click Save.